Electronic Computer Aided Design (ECAD) systems have become important in the design of electronic circuits, and are virtually indispensable in the design of semiconductor chips. A typical ECAD system comprises a computer workstation loaded with a suite of software-based design tools and software-based design libraries. The designer (user) uses these tools and libraries to create a coded layout of a device, and forwards the code for the design to a manufacturer (vendor) via suitable means, such as magnetic tape or the like. Using the tape, the manufacturer is able to fabricate a physical device based on the information contained on the tape. The manufacturer is typically also the purveyor of the software-based design tools and design libraries, although sometimes a third party becomes involved. Together, the design tools and design libraries are referred to as software "products".
ECAD systems allow the manufacturing tape to be generated in an efficient and highly reliable manner. ECAD systems may be configured with one or more "products" which allow the user to perform a variety of chip design tasks. For example, customer "A" may desire a product that allows him to perform the logic design of a chip. In contrast, customer "B" may desire a product for performing the logic design and a second product which allows it to perform the actual chip layout. On the other hand, customer "C" may desire the two products mentioned above plus an additional product that allows it to do some type of simulation analysis. Moreover, a given product may be dedicated to a specific chip technology. For example, a customer may require a product for 2 micron technology, while another customer may require a product dedicated to 3 micron technology.
A typical vendor of ECAD software may offer a variety of design products to a given customer. The remaining issue is how the vendor distributes the software products desired by the customer in a cost effective manner.
One type of software distribution system employs a tape media (for example, floppy disk or tape diskette) which is sent to the customer. The tape media contains only those products licensed by the customer.
One disadvantage with tape media distribution systems is that because the number of different software products is quite large, each software shipment is typically a separate tape-production job. It is not convenient to inventory pre-written tape media because of the large amount of separate overlapping pieces of software products. Furthermore, tape media generally can only store a small amount of data files (about 36 megabytes) and as such, many volumes of tapes must be used to distribute one or more products.
In contrast to tape storage media devices, a CD-ROM is a mass storage media device which offers several advantages. First, a CD-ROM can hold about 680 megabytes of data. Second, the cost-per-byte is lower for moderate levels of distribution (over 100 copies) than tape media.
Recently, software vendors have begun to distribute software products on CD-ROM. The CD-ROM, however, is formatted according to an ISO-9660 format.
A common operating system for ECAD systems is the UNIX (trademark) operating system. Workstations are typically used to perform chip design type functions and other more labor intensive design operations for which personal computers are not well suited.
However, the distribution of products on CD-ROM for operating systems such as UNIX is difficult because the ISO-9660 format does not provide inherent protection for the contents of the CD-ROM. This becomes a problem (e.g.) when software products having restrictions on distribution are involved. As such, the use of CD-ROMs to distribute a plurality of software products is not practical, if the customer receiving the plurality of products is not licensed for all of the products. Moreover, the ISO-9660 format does not preserve the original UNIX-based file dates and file permissions of the products. In the UNIX environment, it is essential that permission information be preserved. Permission information relates to whether a given file can be written, read or executed.
To overcome some of these disadvantages and to take advantage of software distribution on CD-ROM, some vendors have attempted to control the unauthorized use of products on CD-ROM by performing "run-time authorization checking." One form of this checking is referred to as "network licensing." This preventive measure, however, is not practical for some software products and especially for data files which are intended to be used by external software products which are not configured for run-time authorization checking.
Alternatively, software vendors have attempted to control the unauthorized use of products by sending each product on a separate CD-ROM. This is a more expensive and logistically difficult approach in that each customer must be sent a different set of CD-ROMs. Furthermore, each CD-ROM must be mastered separately, thus incurring the CD-ROM mastering set-up charge for each customer shipment. As such, it is not practical to limit the production of a CD-ROM to only a single software product.
Conventional apparatus and processes for the provision of multiple products on CD-ROM is not easy or cost effective. An improved software distribution apparatus and process is of key importance to the distribution of software products on CD-ROM and/or other mass storage devices.